﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Helena.Models;

namespace Helena.Areas.Configuraciones.Models
{
    public class LogicaUnidad:InterfazLogicaUnidad
    {
        
        DBContext Unidad_contexto = new DBContext();
        DBGenericQueriesUtil<Unidad> Tabla;

        public DBContext context_publico { get { return Unidad_contexto; } }

        public LogicaUnidad()
        {
            Tabla = new DBGenericQueriesUtil<Unidad>(Unidad_contexto, Unidad_contexto.t_Unidades);
        }

        public void i_AgregarUnidad(UnidadView u_v)
        {
            Tabla.agregarElemento(u_v.deserializa(this));
        }

        public void i_ModificarUnidad(UnidadView u_v)
        {
            Unidad U = u_v.deserializa(this);
            Tabla.modificarElemento(U, U.ID);
        }

        public void i_EliminarUnidad(int id) 
        {
            Tabla.eliminarElemento_logico(id);
        }

        public List<UnidadView> i_RetornarUnidades() 
        {
            List<Unidad> u = Tabla.retornarTodos();
            List<UnidadView> u_v = new List<UnidadView>();

            foreach (Unidad unidad in u) u_v.Add(new UnidadView(unidad));
            return u_v;
        }

        public UnidadView i_RetornarUnidad(int id)
        {
            Unidad u = Tabla.retornarUnSoloElemento(id);
            UnidadView u_v = new UnidadView(u);
            return u_v;
        }


    }
}